#pragma once
#include <map>

namespace gfutilities{ namespace data_structures
{
template<typename K, typename V>
class extmap : public std::map<K, V>
{
public:
	extmap(void){}
	virtual ~extmap(void){}

	bool is_exist(const K& key);

	void add(K& key, V& val);
	void add(const K& key, const V& val);

	bool remove(const K& key);

	void set(K& key, V& val);
	void set(const K& key, const V& val);
};

#include "extmap.cpp"
}}